import request from '@/utils/request'

// 查询菜单列表
export function listMenu(query) {
  return request({
    url: '/system/menu/list',
    method: 'get',
    params: query
  })
}

// 查询菜单列表 无权限标签
export function findMenuByRoleId(roleId) {
  return request({
    url: '/system/menu/findMenuByRoleId/' + roleId,
    method: 'get'
  })
}

// 查询菜单详细
export function getMenu(menuId) {
  return request({
    url: '/system/menu/' + menuId,
    method: 'get'
  })
}

// 查询菜单下拉树结构
export function treeselect() {
  return request({
    url: '/system/menu/treeselect',
    method: 'get'
  })
}
// 查询菜单下拉树结构
export function treeselectAndPermission(param) {
  return request({
    url: '/system/menu/treeselectAndPermission',
    method: 'get',
    params: param
  })
}
// 查询菜单下拉树结构
export function treeselectAndPermissionByDeal(prefix, query) {
  return request({
    url: '/system/menu/treeselectAndPermissionByDeal/' + prefix,
    method: 'get',
    params: query
  })
}
// 根据角色ID查询菜单下拉树结构
export function roleMenuTreeselect(roleId) {
  return request({
    url: '/system/menu/roleMenuTreeselect/' + roleId,
    method: 'get'
  })
}

// 保存菜单
export function saveMenu(data) {
  return request({
    url: '/system/menu',
    method: 'post',
    data: data
  })
}

// 修改菜单
// export function updateMenu(data) {
//   return request({
//     url: '/system/menu',
//     method: 'put',
//     data: data
//   })
// }

// 删除菜单
export function delMenu(menuId) {
  return request({
    url: '/system/menu/' + menuId,
    method: 'delete'
  })
}

// 获取子菜单列表
export function childMenuList(menuKey) {
  return request({
    url: '/system/menu/childMenuList?menuKey=' + menuKey,
    method: 'get'
  })
}

// 获取子菜单列表
export function getRoutersByMenuKey(menuKey, menuType) {
  if (menuKey) {
    return request({
      url: '/system/menu/childMenuList?menuKey=' + menuKey + '&menuType=' + menuType,
      method: 'get'
    })
  }
}

// 获取子菜单列表
export function childMenuListById(menuId) {
  return request({
    url: '/system/menu/childMenuListById?id=' + menuId,
    method: 'get'
  })
}

// 保存排序
export function submitSort(data) {
  return request({
    url: '/system/menu/submitSort',
    method: 'post',
    data: data
  })
}

// 菜单logo上传
export function uploadAvatar(data) {
  return request({
    url: '/system/menu/avatar',
    method: 'post',
    data: data
  })
}

// 显示/隐藏快捷
export function handleVisibleChangeServer(id, status) {
  return request({
    url: '/system/menu/handleVisibleChangeServer/' + id + '/' + status,
    method: 'get'
  })
}
